package com.ruoyi.service.impl;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.service.IT03Service;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.uitity.MinioUtil;
import net.sf.jsqlparser.expression.StringValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.mapper.T09Mapper;
import com.ruoyi.domain.T09;
import com.ruoyi.service.IT09Service;
import org.springframework.web.multipart.MultipartFile;

/**
 * 知识库管理Service业务层处理
 *
 * @author ruoyi
 * @date 2024-07-25
 */
@Service
public class T09ServiceImpl implements IT09Service
{
    @Autowired
    private T09Mapper t09Mapper;

    /**
     * 查询知识库管理
     *
     * @param F0901 知识库管理主键
     * @return 知识库管理
     */
    @Override
    public T09 selectT09ByF0901(Long F0901)
    {
        return t09Mapper.selectT09ByF0901(F0901);
    }

    /**
     * 查询知识库管理列表
     *
     * @param t09 知识库管理
     * @return 知识库管理
     */
    @Override
    public List<T09> selectT09List(T09 t09)
    {
        return t09Mapper.selectT09List(t09);
    }

    /**
     * 新增知识库管理
     *
     * @param t09 知识库管理
     * @return 结果
     */
    @Override
    public int insertT09(T09 t09)
    {
        return t09Mapper.insertT09(t09);
    }

    /**
     * 修改知识库管理
     *
     * @param t09 知识库管理
     * @return 结果
     */
    @Override
    public int updateT09(T09 t09)
    {
        return t09Mapper.updateT09(t09);
    }

    /**
     * 批量删除知识库管理
     *
     * @param F0901s 需要删除的知识库管理主键
     * @return 结果
     */
    @Override
    public int deleteT09ByF0901s(Long[] F0901s)
    {
        return t09Mapper.deleteT09ByF0901s(F0901s);
    }

    /**
     * 删除知识库管理信息
     *
     * @param F0901 知识库管理主键
     * @return 结果
     */
    @Override
    public int deleteT09ByF0901(Long F0901)
    {
        return t09Mapper.deleteT09ByF0901(F0901);
    }

    @Autowired
    private ISysUserService sysUserService;
    @Autowired
    private ISysDeptService sysDeptService;
    @Autowired
    private MinioUtil minioUtil;
    @Autowired
    private IT09Service t09Service;
    @Autowired
    private IT03Service t03Service;
    @Override
    public boolean upload(Long userId,MultipartFile file, String filename) {
        //查找到这个用户的部门ID
//        Long deptId = sysUserService.selectUserById(userId).getDeptId();
//        //
//        SysDept sysDept = sysDeptService.selectDeptById(deptId);
//
//        Long parentId = sysDept.getParentId();
        Long Id= t03Service.selectByF1801TOF0301(userId);
        T09 t09 = new  T09();
        t09.setF0301(Id);
        t09.setF1801(userId);
        t09.setF0902(filename);
        Date date = new Date();
        t09.setF0905(date);
        t09.setF0906(0L);
        t09.setF0908(filename);
        t09Service.insertT09(t09);
        try {
            minioUtil.upload(file, filename);
        } catch (Exception e) {
            return false;
        }
        return true;
    }
}
